\section{Fonctionnement global de l'application}
My C-Tool est un outil complet qui permet de suivre les émissions de gaz à effet de serre au niveau de l'entreprise dans son ensemble, ainsi que les actions de réduction engagés. De plus il permet de calculer les émissions des produits, services, projets 
(en lien ou non avec le premier point, suivant le type d'activité et les objectifs) et de constituer, utiliser, mettre à jour et enrichir en continu un référentiel interne de facteurs d'émissions (comportant par exemple les catalogues de produits achetés 
et/ou vendus).
My C-Tool est un outil générique et son fonctionnement dépend du paramètrage de plusieurs points, paramétrage unique en fonction du client. Le paramétrage des diverses dimensions est possible à travers les librairies spécifiques de chacune des dimensions, 
séparées de manière transparente à l'intérieur de l'application.
\newline
\indent Ainsi, voilà une correspondance entre ce que l'on peut paramétrer et les librairies de My C-Tool:
\begin{enumerate}
	\item La représentation de l'organisation de l'entreprise: en termes de sites, d'activités, de marques, de produits, de processus ... avec une très grande souplesse dans cette représentation, correspondant à la librairie \textbf{Orga};		
	\item Les indicateurs à suivre : gaz à effet de serre, énergie, eau ... et/ou tout autre selon sa pertinence, correspondant à la librairie \textbf{Classif};
	\item Les ratios à calculer (gaz à effet de serre par euro, kWh par m2, etc.), correspondant à la librairie ;
	\item Les axes d'analyse des résultats, autres que les axes organisationnels, correspondant à la librairie \textbf{Classif};
	\item La conception détaillée des formulaires de collecte de données d'activité comptables, et de conversion de ces données d'activité en impacts environnementaux, afin de poser les questions au plus près de la réalité opérationnelle, et avec les aides en 
	ligne appropriées, correspondant à \gls{af} ;
	\item Les choix de référentiel (facteurs d'émissions, paramètres), sachant qu'on reste maîtres des standards retenus (ADEME, GHG Protocol, autres...), correspondant à la librairie \textbf{Techno} ;
	\item Les états de synthèse préconfigurés, pour un usage fréquent (qui n’excluent pas pour l’utilisateur de pouvoir en construire d’autres à sa guise);
	\item Les imports de données automatiques depuis des sources externes;
	\item La définition des autorisations.
\end{enumerate}
Par la suite, l'intéraface de l'utilisateur est accessible à travers la librairie \textbf{Integration} et sera présentée par la suite.

\section{Librairies principales}
Les librairies que j'ai pu enrichir durant mon stage sont: \textbf{AF}, \textbf{Orga} et \textbf{Integration} dont le fonctionnement sera présenté par la suite.
\subsection{AF}
Le module de formulaires comptables existe afin de pouvoir créer des formulaires dynamiques qui réalisent des calculs grâce à des paramètres (coefficients de conversion) prédéfinis dans la librairie \textbf{Techno}. Ces formulaires sont regroupés en branches, qui elles peuvent avoir
plusieurs versions. 
\begin{figure}[h!]
  \centering
	\includegraphics[width=0.9\textwidth]{images/af_brache1}
	\caption{Branches, gauche}
  \label{af}
\end{figure}
\begin{figure}[h!]
  \centering
	\includegraphics[width=1\textwidth]{images/af_brache2}
	\caption{Branches, droite}
  \label{af}
\end{figure}
La librairie AF nous permet, en choisissant la branche et la version, d'accéder à la liste de formulaires comptables qu'on veut et ainsi pouvoir en rajouter ou modifier la configuration de formulaires éxistants. De plus, on peut tester nos formulaire en créant 
des saisies pour le formulaire qui nous intéresse, ainsi que visualiser les résultats produits par ces saisies sur les différents indicateurs concernés et accéder au détail des calculs et des éléments de référentiel appelés.
Les différentes saisies ansi que leurs résultats associés peuvent être enregistrés. 
Dans les images suivantes on a un extrait de vue d'une saisie, suivi par la vue des résultats, des détails de calculs et de l'historique des modifications effectuées sur la saisie:
\begin{figure}[h!]
  \centering
	\includegraphics[width=1\textwidth]{images/af-saisie}
	\caption{Saisie}
  \label{sais}
\end{figure}
\begin{figure}[h!]
  \centering
	\includegraphics[width=1\textwidth]{images/af-resultat}
	\caption{Resultats de calculs}
  \label{result}
\end{figure}
\begin{figure}[h!]
  \centering
	\includegraphics[width=0.8\textwidth]{images/af-details}
	\caption{Details des calculs}
  \label{deta}
\end{figure}
\begin{figure}[h!]
  \centering
	\includegraphics[width=1\textwidth]{images/af-histo}
	\caption{Historique}
  \label{histo}
\end{figure}

A partir de la vue d'une saisie on peut aussi accéder à la configuration du formulaire.
Dans la configuration du formulaire on peut éditer la documentation et l'aide du formulaire ainsi que visualiser la structure du formulaire, caractérisé par les éléments le composant (groupes, sous-formulaires, champs numériques, champs de sélection, champs 
booléens).
\begin{figure}[h!]
  \centering
	\includegraphics[width=0.75\textwidth]{images/af-config-structure}
	\caption{Structure formulaire comptable}
  \label{struct-af}
\end{figure}
Cette même vue nous permet aussi de rajouter des éléments au formulaire ainsi que des intéractions entre ces éléments à travers des actions conditionnés.
\begin{figure}[h!]
  \centering
	\includegraphics[width=0.75\textwidth]{images/af-config-elements}
	\caption{Eléments formulaire comptable}
  \label{elem-af}
\end{figure}
Les calculs du formulaire sont configurés dans l'onglet Traitement, dans lequel on choisit l'algorithme d'éxécution ainsi que des algorithme numériques ou de sélection et les conditions conditionnant certains calculs. Les algorithmes choisis pour le calcul sont
définis dans la librairie Techno.

Les données que l’on souhaite (formulaires comptables ou saisies) peuvent aussi être chargées en masse depuis des fichiers externes au lieu d’être saisies à la main dans l’application.
\subsubsection{Travail réalisé}
Mon travail sur cette librairie à porté sur les vues et l'export et import \gls{xml} des formulaires comptables ainsi que l'intégration du module dans l'intérface client, module \textbf{Intégration}.
\subsection{Orga}
Le module Orga est destiné à modéliser la structure organisationnelle de l'activité considée et apporter une structure organisationnelle des données dans le cadre du projet Intégration. Cette structure organisationnelle est modélisée par un cube organisationnel, 
défini par un ensemble de caractéristiques :
\begin{itemize}
\renewcommand{\labelitemi}{$\bullet$}
	\item axes;
	\item membres;
	\item granularités;
	\item cellules.
\end{itemize}
Par defaut, un cube créé via l'interface, comprendra une cellule et une granularité dite globale.
\subsubsection{Axes}
Les axes peuvent être vus comme étant les dimensions d'un cube. Ces axes repésentent les critères d'analyse des données, par exemple un axe ville permet de naviguer dans les données en fonctions des villes.

Les axes peuvent aussi avoir une relation hiérachique entre eux : l'axe ville est relié à l'axe département qui est lui même relié à l'axe région etc... On parle alors d'axe d’agrégation(plus grossier que) et d'axe de décomposition(plus fin que) (l'axe d’agrégation 
de ville est l'axe département, l'axe de décomposition de département est l'axe ville).

Un axe peut avoir plusieurs axes d’agrégation et ainsi de suite.
Un axe ne peut possèder que 0 ou 1 axe de décomposition. 
L'accès aux données se fait à travers les membres des axes.
\subsubsection{Membres}
Si on part du principe que les axes peuvent s'apparenter aux dimensions d'un cube alors les membres correspondraient aux coordonnées au sein de ces axes. Par  exemple un axe ville aurait comme membre "lyon", "Paris", "Rennes" etc...

Comme pour les axes ces membres peuvent être reliés hiérachiquement entre eux : le membre "lyon" de l'axe "ville" sera relié au membre "69" de l'axe département. 

On a encore la notion de broader et narrower, ces principes sont les mêmes que pour les axes sauf qu'un membre, à la différence d'un axe, peut possèder 0 ou plusieurs membres narrowers. 

\subsubsection{Granularités}
La notion de granularité définit la taille du plus petit élément. Par exemple dans une population, la granularité est l'individu.

Le module Orga permet de créer des niveaux de granularité personalisés, par exemple on pourrait avoir dans une population une granularité sexe ou couleur puis ensuite une granularité individu. On parle alors de granularités dite "plus fine que". Par exemple la 
granularité individu est plus fine que la granularité sexe qui est plus fine que la granularité population. 

Une granularité peut contenir un nombre x d'axes (tout dépend de ce que l'on cherche à analyser). Ces axes ne doivent pas être reliés hierarchiquement entre eux.

Une granularité va générer des cellules en fonction des axes associés à cette granularité, mais aussi aux membres associés à ces axes.
\subsubsection{Cellules}
Les cellules sont une manière abstraite de représenter les différentes données auxquelles on voudrait accéder (exemple : formulaires comptables). Ces cellules sont générées lors de la création d'une granularité ou lors de l'ajout d'un membre à un axe présent 
dans une ou plusieurs granularités. Si on reprend la logique d'un cube alors la cellule est accessible par un couple de coordonnées. Donc pour chaque couple de membres des axes de la granularité il existe une cellule associée.

Exemple : nous avons une granularité ayant 2 axes : axe1 et axe2 qui ont respectivement pour membres membre1, membre12 et membre2, membre21. Voici les couples de membres possibles :

\begin{itemize}
\renewcommand{\labelitemi}{$\bullet$}
	\item membre1/membre2
	\item membre1/membre21
	\item membre12/membre2
	\item membre12/membre21  
\end{itemize}
4 couples de membres donc 4 cellules.

\subsubsection{Travail réalisé}
Le travail que j'ai réalisé sur ce module porte sur la plupart des vues, en plus de la vue de contrôle de cohérence du cube organisationnel, du menu de navigation entre les cellules, ainsi que de l'intégration du module dans dans l'application complète, à 
savoir le module \textbf{Intégration}.
\begin{figure}[h!]
  \centering
	\includegraphics[width=1\textwidth]{images/orga-coherence}
	\caption{Cohérence du cube organisationnel}
  \label{coh1}
\end{figure}
\begin{figure}[h!]
  \centering
	\includegraphics[width=0.85\textwidth]{images/orga-coherence2}
	\caption{Cohérence du cube organisationnel}
  \label{coh2}
\end{figure}
\begin{figure}[h!]
  \centering
	\includegraphics[width=0.6\textwidth]{images/orga-navigation}
	\caption{Navigation}
  \label{navig}
\end{figure}
Partie de mon travail a été aussi de réaliser l'onglet de vérification de la cohérence de la version du module \textbf{Classif}, modélisé à travers des axes et des membre, et ayant le même type de hierarchie que Orga( "broader" et "narrower").

\subsection{Integration}
Integration correspond à l'interface vue par l'utilisateur, à travers laquelle il peut accéder aux inventaires, saisies et analyses. Cet accès passe par une authentification de l'utilisateur, en fonction de ses droits.
Dans cette intérface avant que l'utilisateur puisse lancer des calculs à travers des saisies, il doit choisir la version du module AF qu'il veut utiliser ainsi que la version de \textbf{Techno} (librairie d'algorithmes et paramètres). Il doit ensuite choisir 
le formulaire qu'il veut employer pour chacune des cellules de chacune des granularités, par exemple pour la granularité Année | Agence | Catégorie et la cellule 2011 on peut choisir le formulaire "Activité générale d'une agence", reflétant les calculs de 
l'empreinte carbone pour une agence dans l'année 2011. Les saisies sont activées en passant le statut de l'inventaire (englobant des formulaires) à "en cours" et arrêtés en changeant le statut à "clôturé". L’inventaire est piloté par un utilisateur 
administrateur qui a la possibilité d’en suivre l’avancement en temps réel, d’envoyer des mails de relance à tous les contributeurs, de commenter les saisies.
Une fois l’inventaire réalisé, il peut en recalculer les résultats sur la base d’une version différente du référentiel (par exemple, pour comparer l’année n et n+1 à iso-référentiel).
Dès qu'on a des saisies activées, on peut accéder aux saisies, remplir nos variables et lancer les calculs, enregistrer, ajouter des documents attachés, grâce au module \textbf{Doc}, ou des commentaires à ces saisies.

Pour les gaz à effet de serre, les résultats sont a minima classifiés comme le demande l’article 75 du Grenelle (différenciation en gaz et scopes ISO), mais ces axes d’analyse peuvent être enrichis suivant les besoins.
A tout moment, les personnes habilitées consultent à leur guise les données et les résultats avec une grande souplesse d’interrogation, et exportent les synthèses obtenues (ou le détail) sous PDF et Excel.
Un module de gestion des actions permet de répertorier et suivre les actions de réduction engagées, de les partager et de les commenter, module défini dans la librairie \textbf{Social}.
L’interface français/anglais est conçue pour un déploiement international de la solution.
Les utilisateurs peuvent exprimer leurs suggestions sur un forum afin de co-construire l’amélioration continue de l’outil (socle et paramétrage).
\newline
\newline
\indent La complexité de ce module est la communication et l'utilisation de plusieurs modules externes, ayant en plus la surcouche des droits d'utilisation. Les modules réutilisés par Integration sont AF (formulaires comptables), Social (pour les actions de réduction, 
commentaires, etc.), Orga (pour la structure organisationnelle de l'entreprise), Techno(pour les algorithmes de calcul), Classif (pour les indicateurs), Doc (pour les bibliothèques et bibliographies de documents) en bref, tous les modules qui permettent de paramétrer et piloter notre outil.
\subsubsection{Travail réalisé}
La plus grosse partie de mon travail, a été à ce jour le développement des vues d'Intégration, en suivant le patron MVC en commençant par la réutilisation de la navigation entre les cellules dévéloppée dans le module Orga ainsi 
que l'onglet Orga dans l'intérface d'Intégration, figures \ref{fig:int-orga} et \ref{fig:int-navig}.
\begin{figure}[h!]
  \centering
	\includegraphics[width=1\textwidth]{images/integration-orga}
	\caption{Onglet Organisation}
  \label{fig:int-orga}
\end{figure}
\begin{figure}[h!]
  \centering
	\includegraphics[width=0.45\textwidth]{images/integration-navigation}
	\caption{Navigation}
  \label{fig:int-navig}
\end{figure}
\newline
\newline
\indent Par la suite j'ai développé l'onglet saisie, faisant le lien avec AF, dans lequel on peut accéder à des saisies et donc en enregistrer, lancer des calculs, ajouter des documents attachés, ce qui suppose l'inclusion dans la vue de la saisie d'une bibliographie,
à l'aide du module Doc, figure \ref{fig:integration-saisies}. 
\begin{figure}[h!]
  \centering
	\includegraphics[width=1\textwidth]{images/integration-saisies}
	\caption{Saisies}
  \label{fig:integration-saisies}
\end{figure}
\newline
\newline
\indent Quand on est dans une saisie on est aussi dans une certaine cellule, ce qui fait que notre bibliographie est lié à la bibliothèque de documents de la cellule, figures \ref{fig:cell-documents} et \ref{fig:saisie-documents}. En rajoutant un document dans cette bibliographie, il est aussi rajouté dans la
bibliothèque, en se rappelant de cette saisie comme une référence sur le document.
\begin{figure}[h!]
  \centering
	\includegraphics[width=0.9\textwidth]{images/cell-documents1}
	\caption{Bibliothèque de documents d'une cellule (cellule - FRANCE | BOLLORE LOGISTICS), gauche}
  \label{fig:cell-documents}
\end{figure}
\begin{figure}[h!]
  \centering
	\includegraphics[width=0.9\textwidth]{images/cell-documents2}
	\caption{Bibliothèque de documents d'une cellule (cellule - FRANCE | BOLLORE LOGISTICS), droite}
  \label{fig:cell-documents}
\end{figure}
\begin{figure}[h!]
  \centering
	\includegraphics[width=0.9\textwidth]{images/saisie-documents1}
	\caption{Bibliographie de documents d'une saisie, gauche}
  \label{fig:saisie-documents}
\end{figure}
\begin{figure}[h!]
  \centering
	\includegraphics[width=0.9\textwidth]{images/saisie-documents2}
	\caption{Bibliographie de documents d'une saisie, droite}
  \label{fig:saisie-documents}
\end{figure}
\newline
\newline
\indent Le module de gestion des actions qui permet de répertorier et suivre les actions de réduction engagées est représenté par les thèmes d'action, modèles d'action et finalement actions d'une cellule qui j'ai développé durant mon stage. On peut accéder aux 
thèmes d'actions à travers le menu transverse, figure \ref{fig:menu-transverse}.
\begin{figure}[h!]
  \centering
	\includegraphics[width=0.7\textwidth]{images/menu-transverse}
	\caption{Menu transverse}
  \label{fig:menu-transverse}
\end{figure}
Après avoir défini au moins un thème d'action de réduction, on peut créer ensuite des modèles d'action et esnsuite des actions, dans une cellule, illustré dans les figures \ref{fig:int-modact} et \ref{fig:int-act}.
\begin{figure}[h!]
  \centering
	\includegraphics[width=0.9\textwidth]{images/int-modact1}
	\caption{Modèles d'action d'une cellule, gauche}
  \label{fig:int-modact}
\end{figure}
\begin{figure}[h!]
  \centering
	\includegraphics[width=0.9\textwidth]{images/int-modact2}
	\caption{Modèles d'action d'une cellule, droite}
  \label{fig:int-modact}
\end{figure}
\begin{figure}[h!]
  \centering
	\includegraphics[width=0.9\textwidth]{images/int-act1}
	\caption{Actions d'une cellule, gauche}
  \label{fig:int-act}
\end{figure}
\begin{figure}[h!]
  \centering
	\includegraphics[width=0.9\textwidth]{images/int-act2}
	\caption{Actions d'une cellule, droite}
  \label{fig:int-act}
\end{figure}
\newline
\newline
\indent Les difficultés recontrées sur le développement d'Intégation ont été liées à la compréhension du fonctionnement interne du modèle de la structure organisationnelle, ordre entre les cellules et liaison avec les granularités ainsi que les droits d'accès 
pour les divers onglets d'Intégration, ainsi que les liens entre les propriétés des cellules en fonctions des granularités, comme les documents, modèles d'actions, actions, saisies et inventaires. Dès que j'ai maîtrisé ces éléments techniques, mon travail a 
été très fluide et intéressant.



